#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
const int N = 30;
int dp[2 * N][N][N];
int a[N][N];
int n;
int main()
{
    cin >> n;
    int x1, y1, w;
    while (cin >> x1 >> y1 >> w, x1)
    {
        a[x1][y1] = w;
    }
    for (int s = 2; s <= 2 * n; s++)
    {
        for (int i1 = 1; i1 <= n; i1++)
        {
            for (int i2 = 1; i2 <= n; i2++)
            {
                int j1 = s - i1;
                int j2 = s - i2;
                if (j1 <= 0 || j1 > n || j2 <= 0 || j2 > n)
                {
                    continue;
                }
                else
                {
                    int t = dp[s - 1][i1][i2];
                    t = max(t, dp[s - 1][i1 - 1][i2]);
                    t = max(t, dp[s - 1][i1][i2 - 1]);
                    t = max(t, dp[s - 1][i1 - 1][i2 - 1]);
                    if (i1 == i2)
                    {
                        dp[s][i1][i2] = t + a[i1][j1];
                    }
                    else
                    {
                        dp[s][i1][i2] = t + a[i1][j1] + a[i2][j2];
                    }
                }
            }
        }
    }
    cout << dp[2 * n][n][n];
    return 0;
}